Not applicable.
Not applicable.
Not applicable.
1. Field of the Invention
The invention is related to the field of telecommunications, and in particular, to a software interface product and method utilized between an telephony hub and a digital communications network.
2. Background
Advanced communications networks are being developed to support a vast array of communications services. These networks are controlled by complex hardware and software platforms referred to as session managers. Users requiring communications sessions from these advanced networks must interface with the session managers to request and receive communications services. Session managers operate using various messages, such as invite messages, reply messages, confirm messages, join messages, and terminate messages.
A class 5 telephone switch communicates with an analog telephone using the analog telephony signals in the well-known analog telephony format. The class 5 telephone switch provides power to the telephone. The class 5 telephone switch detects off-hook current caused by the telephone and provides the telephone with dial tone. The caller generates Dual-Tone Multi-Frequency (DTMF) signals. The class 5 telephone switch detects the DTMF signals and initiates the call in the network. When the far-end telephone is ringing, the class 5 telephone switch plays a ringback tone to the caller. If the far-end telephone is busy, the class 5 telephone switch plays a busy tone to the caller. On incoming calls, the class 5 telephone switch provides ring current to the telephone.
Telephony hubs are being developed to manage multiple telephones. The telephony hubs are typically located in a residential area, and the telephone lines from multiple residences are connected to the telephony hub. These telephone lines are known as local loops. Digital Line Carrier (DLC) equipment may be used between the telephones and the telephony hub. The telephony hubs connect the telephones in the home to a network element in the advanced communications network. This connection between the telephony hub and the network element is typically an Asynchronous Transfer Mode (ATM) connection to an ATM device. ATM signals do not traditionally support analog telephony signals, such as off-hook, dial tone, and busy signals. The telephony hubs detect off-hook conditions, on-hook conditions, and digits. In addition, the telephony hubs provide the telephones with dial tone, ring current, ringback, and busy signals.
At present, there is not an acceptable software interface for use between the telephony hub and the session manager in the network. There is a need for software that can provide an interface between the telephony hub and the session manager.
The invention overcomes these problems with a provider agent that operates as a software interface between the telephony hub and the session manager. The provider agent allows users to obtain conventional telephone service from an advanced broadband network. The provider agent is comprised of software objects that are stored on a software storage medium.
In some embodiments, the provider agent is comprised of a plurality of objects including a controller object, port objects, and event objects. The provider agent is executed by a multithreaded processing system and these objects each have a separate processing thread. The provider agent and the telephony hub communicate through an Application Programming Interface (API). In some embodiments, the API is specified in the Interface Definition Language (IDL) of the Common Object Request Broker Architecture (CORBA)
The invention includes a provider agent software interface for use between an telephony hub and a session manager. The telephony hub is operational to interwork between analog telephony signals over a plurality of channels and ATM signals over a plurality of ATM virtual connections in response to interwork instructions. The telephony hub is operational to detect on-hook events, off-hook events, and digit events and to provide event messages. The telephony hub is operational to provide dial tone, ringback, and busy signals in response to tone instructions. The session manager is operational to transmit and receive invite messages, reply messages, join messages, and terminate messages.
The provider agent receives an off-hook event message for a channel from the telephony hub, and in response, transmits a dial tone instruction for the channel to the telephony hub. The provider agent receives a plurality of digit event messages for the channel from the telephony hub, and in response, transmits an invite message indicating a dialed number for the channel to the session manager. The provider agent receives a reply message for the channel from the session manager indicating an alerting condition, and in response, transmits a ringback tone instruction for the channel to the telephony hub. The provider agent receives a join message for the first channel from the session manager, and in response, transmits an add stream message for the first channel to the session manager. The provider agent receives a confirm message for the first channel from the session manager, and in response, transmits a first interwork instruction for the first channel to the telephony hub to interwork a telephony signal on the channel with an ATM signal on a selected virtual channel for the channel. The provider agent repeats the above-described operations for at least 100 additional channels.
In some embodiments of the invention, the provider agent transmits a second interwork instruction for the channel to the telephony hub to stop interworking the channel and the selected virtual channel. The provider agent receives another invite message for the channel from the session manager, and in response, determines that the invite message is associated with the channel, transmits a ring instruction for the channel to the telephony hub, and transmits another reply message indicating an alerting condition for the channel to the session manager. The provider agent receives an off-hook event message for the channel from the telephony hub, and in response, transmits another join message for the channel to the session manager. The provider agent receives a join stream message for the channel from the session manager, and in response, transmits a reference information message for the channel to the session manager. The provider agent receives a confirm message for the channel from the session manager, and in response, transmits a third interwork instruction for the channel to the telephony hub to interwork another telephony signal on the channel with another ATM signal on another selected virtual channel for the channel. The provider agent can concurrently perform the above-described operations for at least 100 additional channels.
In some embodiments of the invention, the provider agent receives an on-hook event message for the channel from the telephony hub, and in response, transmits a terminate message for the channel to the session manager and transmitting the second interwork instruction for the channel. In other embodiments of the invention, the provider agent receives a termination message for the channel from the session manager, and in response, transmits the second interwork instruction for the channel.